function logged(value, context) {
  console.log(value, 'value')
  console.log(context, 'context')
  if (context.kind === 'field') { // 字段装饰器
    return function (initialValue) { // 返回一个函数 该函数的返回值会应用到字段中
      return initialValue + 1
    }
  }
}

// 调用 logged 传递2个参数
// 返回 initializingX 函数用于初始化字段的值
const initializingX = logged(undefined, { kind: 'field', name: 'x' })

class C {
  x = initializingX.call(this, 1)
}




console.log(new C().x)
